This motor driver board, originally designed by Dagu for their Rover 5 platform, is ideal for any small 4-wheel drive robotic vehicle. With four motor outputs, four encoder inputs and current sensing for each motor, it's a must-have when implementing omni or mechanum wheels.
The motor drivers can be controlled by simply applying a logic 0 or 1 to the direction pin for that motor and a PWM signal to the speed pin. In this way, the speed and direction of four separate motors can be controlled independently from only 8 GPIO pins. The encoder inputs on the driver board mix each pair of encoder inputs using an XOR gate making it possible to read both inputs from a quadrature encoder using only one interrupt pin.
Reading the current sensor output is easy, each current sensor pin will output about 1V for each Amp of current drawn by the associated motor up to 5V. Connect the current sensor pin to the analog input of your controller and you'll be able to detect stalls and other motor problems.
There are two power connectors on board. One is for 5V logic and the other is the motor supply. Be sure to turn on your logic supply before applying the power source for your motors. The board is rated for a maximum motor supply voltage of 12V.